/*
 *  Copyright (c) 2022 ZhuHai Jieli Technology Co.,Ltd.
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

#ifndef TASK_SCHEDULE_H
#define TASK_SCHEDULE_H

#include "typedef.h"
#include "os/os_api.h"

// low -> high
static u8 TASK_PRIO_IDLE            = tskIDLE_PRIORITY;              // always exist
// Not time slice
#define TASK_DEBUG_IDLE             IO_DEBUG_TOGGLE(C, 0)

static u8 TASK_PRIO_CLI             = configMAX_PRIORITIES - 3;
static const char *TASK_NAME_CLI    = "CLI";
static u32 TASK_STACK_SIZE_CLI      = 128;
#define TASK_DEBUG_CLI              IO_DEBUG_TOGGLE(C, 2)

static u8 TASK_PRIO_INPUT           = configMAX_PRIORITIES - 2;
static const char *TASK_NAME_INPUT  = "Input Task";
static u32 TASK_STACK_SIZE_INPUT    = 128;
#define TASK_DEBUG_INPUT            IO_DEBUG_TOGGLE(C, 2)

static u8 TASK_PRIO_BTSTACK         = configMAX_PRIORITIES - 1;
static const char *TASK_NAME_BTSTACK = "btstack";
static u32 TASK_STACK_SIZE_BTSTACK  = 0x300;
#define TASK_DEBUG_BTSTACK()        IO_DEBUG_TOGGLE(C, 2)
extern struct thread_owner          bt_task_thread;

static u8 TASK_PRIO_USER            = configMAX_PRIORITIES - 2;
static const char *TASK_NAME_USER   = "btstack";
static u32 TASK_STACK_SIZE_USER     = 128;

#endif  /* TASK_SCHEDULE_H */

